<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Array.from()  静态方法

        // 可将 伪数组（array-like） 和  可迭代对象转换成真实的数组
        function fn(){
            console.log([...arguments]);
            console.log(Array.from(arguments));
        }
        fn();

        // 伪数组 不一定都是可迭代对象
        // 是伪数组，不是迭代对象
        let obj = {
            0:"hello",
            1:"world",
            length:5,
        }
        console.log(obj);
        console.log(Array.from(obj));//["hello", "world", undefined, undefined, undefined]
    

        // 第二个参数 类似于map的用法
        // map()返回一个数组，数组中元素为原始数组的平方根
        console.log(Array.from(obj,(item,index) =>{
            if(item === undefined){
                return "default";
            }else{
                return item;
            }
        }))

        // 简洁写法
        console.log(Array.from(obj,item => item === undefined? "default":item));
    </script>
</body>
</html>